\doxysubsubsubsection{IO operation functions }
\hypertarget{group___u_a_r_t___exported___functions___group2}{}\label{group___u_a_r_t___exported___functions___group2}\index{IO operation functions@{IO operation functions}}
\doxysubsubsubsubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
\Hypertarget{group___u_a_r_t___exported___functions___group2_ga01a7a7ac3cf0a262814ba44ee7580ddb}\label{group___u_a_r_t___exported___functions___group2_ga01a7a7ac3cf0a262814ba44ee7580ddb} 
\mbox{\hyperlink{stm32h7xx__hal__def_8h_a63c0679d1cb8b8c684fbb0632743478f}{HAL\+\_\+\+Status\+Type\+Def}} {\bfseries HAL\+\_\+\+UART\+\_\+\+Transmit} (\mbox{\hyperlink{group___u_a_r_t___exported___types_ga5de4a49eb132735325e706f406c69d6e}{UART\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}huart, const uint8\+\_\+t \texorpdfstring{$\ast$}{*}p\+Data, uint16\+\_\+t Size, uint32\+\_\+t Timeout)
\item 
\Hypertarget{group___u_a_r_t___exported___functions___group2_gab868edc590e3b827a14528a25c999e2f}\label{group___u_a_r_t___exported___functions___group2_gab868edc590e3b827a14528a25c999e2f} 
\mbox{\hyperlink{stm32h7xx__hal__def_8h_a63c0679d1cb8b8c684fbb0632743478f}{HAL\+\_\+\+Status\+Type\+Def}} {\bfseries HAL\+\_\+\+UART\+\_\+\+Receive} (\mbox{\hyperlink{group___u_a_r_t___exported___types_ga5de4a49eb132735325e706f406c69d6e}{UART\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}huart, uint8\+\_\+t \texorpdfstring{$\ast$}{*}p\+Data, uint16\+\_\+t Size, uint32\+\_\+t Timeout)
\item 
\Hypertarget{group___u_a_r_t___exported___functions___group2_ga695812b114bd1eb4d9afd6831143b01b}\label{group___u_a_r_t___exported___functions___group2_ga695812b114bd1eb4d9afd6831143b01b} 
\mbox{\hyperlink{stm32h7xx__hal__def_8h_a63c0679d1cb8b8c684fbb0632743478f}{HAL\+\_\+\+Status\+Type\+Def}} {\bfseries HAL\+\_\+\+UART\+\_\+\+Transmit\+\_\+\+IT} (\mbox{\hyperlink{group___u_a_r_t___exported___types_ga5de4a49eb132735325e706f406c69d6e}{UART\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}huart, const uint8\+\_\+t \texorpdfstring{$\ast$}{*}p\+Data, uint16\+\_\+t Size)
\item 
\Hypertarget{group___u_a_r_t___exported___functions___group2_gadc0c3ef2109881d011601f0d41e70e40}\label{group___u_a_r_t___exported___functions___group2_gadc0c3ef2109881d011601f0d41e70e40} 
\mbox{\hyperlink{stm32h7xx__hal__def_8h_a63c0679d1cb8b8c684fbb0632743478f}{HAL\+\_\+\+Status\+Type\+Def}} {\bfseries HAL\+\_\+\+UART\+\_\+\+Receive\+\_\+\+IT} (\mbox{\hyperlink{group___u_a_r_t___exported___types_ga5de4a49eb132735325e706f406c69d6e}{UART\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}huart, uint8\+\_\+t \texorpdfstring{$\ast$}{*}p\+Data, uint16\+\_\+t Size)
\item 
\Hypertarget{group___u_a_r_t___exported___functions___group2_ga821472e8c11e667d793b829a19c3e46c}\label{group___u_a_r_t___exported___functions___group2_ga821472e8c11e667d793b829a19c3e46c} 
\mbox{\hyperlink{stm32h7xx__hal__def_8h_a63c0679d1cb8b8c684fbb0632743478f}{HAL\+\_\+\+Status\+Type\+Def}} {\bfseries HAL\+\_\+\+UART\+\_\+\+Transmit\+\_\+\+DMA} (\mbox{\hyperlink{group___u_a_r_t___exported___types_ga5de4a49eb132735325e706f406c69d6e}{UART\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}huart, const uint8\+\_\+t \texorpdfstring{$\ast$}{*}p\+Data, uint16\+\_\+t Size)
\item 
\Hypertarget{group___u_a_r_t___exported___functions___group2_gad674cce054e58927720cd689620ffa08}\label{group___u_a_r_t___exported___functions___group2_gad674cce054e58927720cd689620ffa08} 
\mbox{\hyperlink{stm32h7xx__hal__def_8h_a63c0679d1cb8b8c684fbb0632743478f}{HAL\+\_\+\+Status\+Type\+Def}} {\bfseries HAL\+\_\+\+UART\+\_\+\+Receive\+\_\+\+DMA} (\mbox{\hyperlink{group___u_a_r_t___exported___types_ga5de4a49eb132735325e706f406c69d6e}{UART\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}huart, uint8\+\_\+t \texorpdfstring{$\ast$}{*}p\+Data, uint16\+\_\+t Size)
\item 
\Hypertarget{group___u_a_r_t___exported___functions___group2_ga8a713fd976d8ef02b818ea6ff0d4e41a}\label{group___u_a_r_t___exported___functions___group2_ga8a713fd976d8ef02b818ea6ff0d4e41a} 
\mbox{\hyperlink{stm32h7xx__hal__def_8h_a63c0679d1cb8b8c684fbb0632743478f}{HAL\+\_\+\+Status\+Type\+Def}} {\bfseries HAL\+\_\+\+UART\+\_\+\+DMAPause} (\mbox{\hyperlink{group___u_a_r_t___exported___types_ga5de4a49eb132735325e706f406c69d6e}{UART\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}huart)
\item 
\Hypertarget{group___u_a_r_t___exported___functions___group2_gaf2b3e6004d0200857781809baa16072d}\label{group___u_a_r_t___exported___functions___group2_gaf2b3e6004d0200857781809baa16072d} 
\mbox{\hyperlink{stm32h7xx__hal__def_8h_a63c0679d1cb8b8c684fbb0632743478f}{HAL\+\_\+\+Status\+Type\+Def}} {\bfseries HAL\+\_\+\+UART\+\_\+\+DMAResume} (\mbox{\hyperlink{group___u_a_r_t___exported___types_ga5de4a49eb132735325e706f406c69d6e}{UART\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}huart)
\item 
\Hypertarget{group___u_a_r_t___exported___functions___group2_gab21aa06cfbaa1665b1062a803fcb4217}\label{group___u_a_r_t___exported___functions___group2_gab21aa06cfbaa1665b1062a803fcb4217} 
\mbox{\hyperlink{stm32h7xx__hal__def_8h_a63c0679d1cb8b8c684fbb0632743478f}{HAL\+\_\+\+Status\+Type\+Def}} {\bfseries HAL\+\_\+\+UART\+\_\+\+DMAStop} (\mbox{\hyperlink{group___u_a_r_t___exported___types_ga5de4a49eb132735325e706f406c69d6e}{UART\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}huart)
\item 
\Hypertarget{group___u_a_r_t___exported___functions___group2_ga2d7be1f59fc810f49dadc580307a4862}\label{group___u_a_r_t___exported___functions___group2_ga2d7be1f59fc810f49dadc580307a4862} 
\mbox{\hyperlink{stm32h7xx__hal__def_8h_a63c0679d1cb8b8c684fbb0632743478f}{HAL\+\_\+\+Status\+Type\+Def}} {\bfseries HAL\+\_\+\+UART\+\_\+\+Abort} (\mbox{\hyperlink{group___u_a_r_t___exported___types_ga5de4a49eb132735325e706f406c69d6e}{UART\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}huart)
\item 
\Hypertarget{group___u_a_r_t___exported___functions___group2_ga5a8858ffca45541416097961523d5fb2}\label{group___u_a_r_t___exported___functions___group2_ga5a8858ffca45541416097961523d5fb2} 
\mbox{\hyperlink{stm32h7xx__hal__def_8h_a63c0679d1cb8b8c684fbb0632743478f}{HAL\+\_\+\+Status\+Type\+Def}} {\bfseries HAL\+\_\+\+UART\+\_\+\+Abort\+Transmit} (\mbox{\hyperlink{group___u_a_r_t___exported___types_ga5de4a49eb132735325e706f406c69d6e}{UART\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}huart)
\item 
\Hypertarget{group___u_a_r_t___exported___functions___group2_ga9732372cfae60c019bb41554ab12edd6}\label{group___u_a_r_t___exported___functions___group2_ga9732372cfae60c019bb41554ab12edd6} 
\mbox{\hyperlink{stm32h7xx__hal__def_8h_a63c0679d1cb8b8c684fbb0632743478f}{HAL\+\_\+\+Status\+Type\+Def}} {\bfseries HAL\+\_\+\+UART\+\_\+\+Abort\+Receive} (\mbox{\hyperlink{group___u_a_r_t___exported___types_ga5de4a49eb132735325e706f406c69d6e}{UART\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}huart)
\item 
\Hypertarget{group___u_a_r_t___exported___functions___group2_ga3183626ee21f103cbcb50241eca50e4d}\label{group___u_a_r_t___exported___functions___group2_ga3183626ee21f103cbcb50241eca50e4d} 
\mbox{\hyperlink{stm32h7xx__hal__def_8h_a63c0679d1cb8b8c684fbb0632743478f}{HAL\+\_\+\+Status\+Type\+Def}} {\bfseries HAL\+\_\+\+UART\+\_\+\+Abort\+\_\+\+IT} (\mbox{\hyperlink{group___u_a_r_t___exported___types_ga5de4a49eb132735325e706f406c69d6e}{UART\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}huart)
\item 
\Hypertarget{group___u_a_r_t___exported___functions___group2_ga0fba12f56413e2dbe8b96040ecf5aa7e}\label{group___u_a_r_t___exported___functions___group2_ga0fba12f56413e2dbe8b96040ecf5aa7e} 
\mbox{\hyperlink{stm32h7xx__hal__def_8h_a63c0679d1cb8b8c684fbb0632743478f}{HAL\+\_\+\+Status\+Type\+Def}} {\bfseries HAL\+\_\+\+UART\+\_\+\+Abort\+Transmit\+\_\+\+IT} (\mbox{\hyperlink{group___u_a_r_t___exported___types_ga5de4a49eb132735325e706f406c69d6e}{UART\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}huart)
\item 
\Hypertarget{group___u_a_r_t___exported___functions___group2_gaad7bc5748b849abc29d18b2ddd02876f}\label{group___u_a_r_t___exported___functions___group2_gaad7bc5748b849abc29d18b2ddd02876f} 
\mbox{\hyperlink{stm32h7xx__hal__def_8h_a63c0679d1cb8b8c684fbb0632743478f}{HAL\+\_\+\+Status\+Type\+Def}} {\bfseries HAL\+\_\+\+UART\+\_\+\+Abort\+Receive\+\_\+\+IT} (\mbox{\hyperlink{group___u_a_r_t___exported___types_ga5de4a49eb132735325e706f406c69d6e}{UART\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}huart)
\item 
\Hypertarget{group___u_a_r_t___exported___functions___group2_gaad01472c507ceee3c5f2274c775ff3bf}\label{group___u_a_r_t___exported___functions___group2_gaad01472c507ceee3c5f2274c775ff3bf} 
void {\bfseries HAL\+\_\+\+UART\+\_\+\+IRQHandler} (\mbox{\hyperlink{group___u_a_r_t___exported___types_ga5de4a49eb132735325e706f406c69d6e}{UART\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}huart)
\item 
\Hypertarget{group___u_a_r_t___exported___functions___group2_ga49b287e7de94cd0a38d333629298f7c4}\label{group___u_a_r_t___exported___functions___group2_ga49b287e7de94cd0a38d333629298f7c4} 
void {\bfseries HAL\+\_\+\+UART\+\_\+\+Tx\+Half\+Cplt\+Callback} (\mbox{\hyperlink{group___u_a_r_t___exported___types_ga5de4a49eb132735325e706f406c69d6e}{UART\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}huart)
\item 
\Hypertarget{group___u_a_r_t___exported___functions___group2_gabcdf9b59049eccbc87d54042f9235b1a}\label{group___u_a_r_t___exported___functions___group2_gabcdf9b59049eccbc87d54042f9235b1a} 
void {\bfseries HAL\+\_\+\+UART\+\_\+\+Tx\+Cplt\+Callback} (\mbox{\hyperlink{group___u_a_r_t___exported___types_ga5de4a49eb132735325e706f406c69d6e}{UART\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}huart)
\item 
\Hypertarget{group___u_a_r_t___exported___functions___group2_ga1884970cc493d8efba5aec28c0d526e7}\label{group___u_a_r_t___exported___functions___group2_ga1884970cc493d8efba5aec28c0d526e7} 
void {\bfseries HAL\+\_\+\+UART\+\_\+\+Rx\+Half\+Cplt\+Callback} (\mbox{\hyperlink{group___u_a_r_t___exported___types_ga5de4a49eb132735325e706f406c69d6e}{UART\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}huart)
\item 
\Hypertarget{group___u_a_r_t___exported___functions___group2_gae494a9643f29b87d6d81e5264e60e57b}\label{group___u_a_r_t___exported___functions___group2_gae494a9643f29b87d6d81e5264e60e57b} 
void {\bfseries HAL\+\_\+\+UART\+\_\+\+Rx\+Cplt\+Callback} (\mbox{\hyperlink{group___u_a_r_t___exported___types_ga5de4a49eb132735325e706f406c69d6e}{UART\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}huart)
\item 
void \mbox{\hyperlink{group___u_a_r_t___exported___functions___group2_ga0e0456ea96d55db31de947fb3e954f18}{HAL\+\_\+\+UART\+\_\+\+Error\+Callback}} (\mbox{\hyperlink{group___u_a_r_t___exported___types_ga5de4a49eb132735325e706f406c69d6e}{UART\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}huart)
\begin{DoxyCompactList}\small\item\em 当串口发送/接收出现错误时,会调用此函数,此时这个函数要做的就是重新启动接收 \end{DoxyCompactList}\item 
\Hypertarget{group___u_a_r_t___exported___functions___group2_gacdcb274a742093c45869f2cfbb0a8b09}\label{group___u_a_r_t___exported___functions___group2_gacdcb274a742093c45869f2cfbb0a8b09} 
void {\bfseries HAL\+\_\+\+UART\+\_\+\+Abort\+Cplt\+Callback} (\mbox{\hyperlink{group___u_a_r_t___exported___types_ga5de4a49eb132735325e706f406c69d6e}{UART\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}huart)
\item 
\Hypertarget{group___u_a_r_t___exported___functions___group2_gacf94995fb9986930151f3c5586d37e5c}\label{group___u_a_r_t___exported___functions___group2_gacf94995fb9986930151f3c5586d37e5c} 
void {\bfseries HAL\+\_\+\+UART\+\_\+\+Abort\+Transmit\+Cplt\+Callback} (\mbox{\hyperlink{group___u_a_r_t___exported___types_ga5de4a49eb132735325e706f406c69d6e}{UART\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}huart)
\item 
\Hypertarget{group___u_a_r_t___exported___functions___group2_ga0f9d15c5ae7b69f09e0ee5f2461e7e7a}\label{group___u_a_r_t___exported___functions___group2_ga0f9d15c5ae7b69f09e0ee5f2461e7e7a} 
void {\bfseries HAL\+\_\+\+UART\+\_\+\+Abort\+Receive\+Cplt\+Callback} (\mbox{\hyperlink{group___u_a_r_t___exported___types_ga5de4a49eb132735325e706f406c69d6e}{UART\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}huart)
\item 
void \mbox{\hyperlink{group___u_a_r_t___exported___functions___group2_ga925534fb8bf7ca464fd05c982fe4bfa0}{HAL\+\_\+\+UARTEx\+\_\+\+Rx\+Event\+Callback}} (\mbox{\hyperlink{group___u_a_r_t___exported___types_ga5de4a49eb132735325e706f406c69d6e}{UART\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}huart, uint16\+\_\+t Size)
\begin{DoxyCompactList}\small\item\em 每次dma/idle中断发生时，都会调用此函数.对于每个uart实例会调用对应的回调进行进一步的处理 例如\+:视觉协议解析/遥控器解析/裁判系统解析 \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsubsubsubsection{Detailed Description}


\label{doc-func-members}
\Hypertarget{group___u_a_r_t___exported___functions___group2_doc-func-members}
\doxysubsubsubsubsection{Function Documentation}
\Hypertarget{group___u_a_r_t___exported___functions___group2_ga0e0456ea96d55db31de947fb3e954f18}\index{IO operation functions@{IO operation functions}!HAL\_UART\_ErrorCallback@{HAL\_UART\_ErrorCallback}}
\index{HAL\_UART\_ErrorCallback@{HAL\_UART\_ErrorCallback}!IO operation functions@{IO operation functions}}
\doxysubsubsubsubsubsection{\texorpdfstring{HAL\_UART\_ErrorCallback()}{HAL\_UART\_ErrorCallback()}}
{\footnotesize\ttfamily \label{group___u_a_r_t___exported___functions___group2_ga0e0456ea96d55db31de947fb3e954f18} 
void HAL\+\_\+\+UART\+\_\+\+Error\+Callback (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group___u_a_r_t___exported___types_ga5de4a49eb132735325e706f406c69d6e}{UART\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{huart}{}\end{DoxyParamCaption})}



当串口发送/接收出现错误时,会调用此函数,此时这个函数要做的就是重新启动接收 

\begin{DoxyNote}{Note}
最常见的错误\+:奇偶校验/溢出/帧错误
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em huart} & 发生错误的串口 \\
\hline
\end{DoxyParams}
\Hypertarget{group___u_a_r_t___exported___functions___group2_ga925534fb8bf7ca464fd05c982fe4bfa0}\index{IO operation functions@{IO operation functions}!HAL\_UARTEx\_RxEventCallback@{HAL\_UARTEx\_RxEventCallback}}
\index{HAL\_UARTEx\_RxEventCallback@{HAL\_UARTEx\_RxEventCallback}!IO operation functions@{IO operation functions}}
\doxysubsubsubsubsubsection{\texorpdfstring{HAL\_UARTEx\_RxEventCallback()}{HAL\_UARTEx\_RxEventCallback()}}
{\footnotesize\ttfamily \label{group___u_a_r_t___exported___functions___group2_ga925534fb8bf7ca464fd05c982fe4bfa0} 
void HAL\+\_\+\+UARTEx\+\_\+\+Rx\+Event\+Callback (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{group___u_a_r_t___exported___types_ga5de4a49eb132735325e706f406c69d6e}{UART\+\_\+\+Handle\+Type\+Def}} \texorpdfstring{$\ast$}{*}}]{huart}{, }\item[{uint16\+\_\+t}]{Size}{}\end{DoxyParamCaption})}



每次dma/idle中断发生时，都会调用此函数.对于每个uart实例会调用对应的回调进行进一步的处理 例如\+:视觉协议解析/遥控器解析/裁判系统解析 

\begin{DoxyNote}{Note}
通过\+\_\+\+\_\+\+HAL\+\_\+\+DMA\+\_\+\+DISABLE\+\_\+\+IT(huart-\/\texorpdfstring{$>$}{>}hdmarx,DMA\+\_\+\+IT\+\_\+\+HT)关闭dma half transfer中断防止两次进入\+HAL\+\_\+\+UARTEx\+\_\+\+Rx\+Event\+Callback() 这是\+HAL库的一个设计失误,发生\+DMA传输完成/半完成以及串口\+IDLE中断都会触发\+HAL\+\_\+\+UARTEx\+\_\+\+Rx\+Event\+Callback() 我们只希望处理，因此直接关闭\+DMA半传输中断第一种和第三种情况
\end{DoxyNote}

\begin{DoxyParams}{Parameters}
{\em huart} & 发生中断的串口 \\
\hline
{\em Size} & 此次接收到的总数居量,暂时没用 \\
\hline
\end{DoxyParams}
